A data storage system typically includes one or more storage controllers coupled one or more data storage devices, such as hard disk drives (HDDs). The controller receives read and write requests from one or more hosts, processes the requests and, in response reads the requested data from or writes (records) data to the storage device. Larger storage systems enable one physical host to be divided into one or more logical partitions (LPARs) which operate as separate, virtual computers. The LPARs may also run under different operating systems and may execute different application programs. During the initial program load (IPL) of the LPAR, logical paths are established between the host and the storage controller, enabling the two to communicate with each other. Worldwide network node numbers (WWNN) are used to enable links between the communicating devices.
During the IPL of one LPAR, another LPAR may decide to change the state of peer-to-peer remote copy (PPRC) devices, such as from ‘PPRC Full Duplex’ to ‘PPRC Suspended,’ using a ‘Freeze’ command from the host to the storage controller.
When the ‘Freeze’ command is executed, the storage controller sends a pack change or state change interrupt for all devices in a PPRC relationship and to all known paths and path groups. The interrupt may be received by an LPAR which is undergoing an IPL. Should this occur, the LPAR is forced to disrupt the IPL and contend with the pack change interrupt and the ensuing validation and query commands. Because the pack change interrupt is sent one per path for each device that changed state from ‘PPRC Full Duplex’ to ‘PPRC Suspended,’ the large number of pack changes and required command processing can cause the IPL of the LPAR to take a very long time to complete. In some cases, the IPL may fail.